package cn.com.huak.www.sell.dto;

import cn.com.huak.www.sell.dataObject.OrderDetail;
import cn.com.huak.www.sell.enums.OrderStatusEnum;
import cn.com.huak.www.sell.enums.PayStatusEnum;
import cn.com.huak.www.sell.utils.EnumUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import javax.persistence.Id;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author huak@wanggang
 * @date 2018/12/31 15:32
 */
@Data
//@JsonInclude(JsonInclude.Include.NON_NULL)
public class OrderDTO {
    /* 订单id */
    private String id;

    /* 买家名称 */
    private String buyerName;

    /* 买家电话 */
    private String buyerPhone;

    /* 买家地址 */
    private String buyerAddress;

    /* 买家微信id */
    private String buyerOpenid;

    /* 订单总金额 */
    private BigDecimal orderAmount;

    /* 订单状态 默认为0 新订单 */
    private Integer orderStatus;

    /* 订单支付状态 默认是0 未支付 */
    private Integer payStatus;

    /* 创建时间 */
    private Date createTime;

    private Date updateTime;

    /* 订单详情列表 */
    private List<OrderDetail> orderDetailList;

    /**
     * 获取订单状态枚举
     * @return
     */
    @JsonIgnore
    public OrderStatusEnum getOrderStatusEnum(){
        return EnumUtil.getByCode(orderStatus, OrderStatusEnum.class);
    }

    /**
     * 获取支付状态枚举
     * @return
     */
    @JsonIgnore
    public PayStatusEnum getPayStatusEnum(){
        return EnumUtil.getByCode(payStatus, PayStatusEnum.class);
    }
}
